Computer networking technology allows execution of complicated computing tasks by sharing the work among the various hardware resources within the network. This resource sharing facilitates computing tasks that were previously too burdensome or impracticable to complete. For example, the term “big data” has been used to describe data sets that are extremely large and complex, making them difficult to process. Many implementations of computing and networking technologies have been devised to process big data. Cloud platforms for distributed processing allows big data to be processed by many virtual machines allocated to one or more physical host servers. Processing these large datasets is computationally intensive, and taking up resources in a data center can be costly. For this reason, many platforms strive to allocate virtual machines onto the data center in an efficient manner.